package com.yfp.auth.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class MachineExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MachineExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andMachineIdIsNull() {
            addCriterion("machine_id is null");
            return (Criteria) this;
        }

        public Criteria andMachineIdIsNotNull() {
            addCriterion("machine_id is not null");
            return (Criteria) this;
        }

        public Criteria andMachineIdEqualTo(String value) {
            addCriterion("machine_id =", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotEqualTo(String value) {
            addCriterion("machine_id <>", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdGreaterThan(String value) {
            addCriterion("machine_id >", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdGreaterThanOrEqualTo(String value) {
            addCriterion("machine_id >=", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLessThan(String value) {
            addCriterion("machine_id <", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLessThanOrEqualTo(String value) {
            addCriterion("machine_id <=", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdLike(String value) {
            addCriterion("machine_id like", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotLike(String value) {
            addCriterion("machine_id not like", value, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdIn(List<String> values) {
            addCriterion("machine_id in", values, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotIn(List<String> values) {
            addCriterion("machine_id not in", values, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdBetween(String value1, String value2) {
            addCriterion("machine_id between", value1, value2, "machineId");
            return (Criteria) this;
        }

        public Criteria andMachineIdNotBetween(String value1, String value2) {
            addCriterion("machine_id not between", value1, value2, "machineId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyIdEqualTo(String value) {
            addCriterion("company_id =", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotEqualTo(String value) {
            addCriterion("company_id <>", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThan(String value) {
            addCriterion("company_id >", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(String value) {
            addCriterion("company_id >=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThan(String value) {
            addCriterion("company_id <", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(String value) {
            addCriterion("company_id <=", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdLike(String value) {
            addCriterion("company_id like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotLike(String value) {
            addCriterion("company_id not like", value, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdIn(List<String> values) {
            addCriterion("company_id in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotIn(List<String> values) {
            addCriterion("company_id not in", values, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdBetween(String value1, String value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andCompanyIdNotBetween(String value1, String value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return (Criteria) this;
        }

        public Criteria andAreaIdIsNull() {
            addCriterion("area_id is null");
            return (Criteria) this;
        }

        public Criteria andAreaIdIsNotNull() {
            addCriterion("area_id is not null");
            return (Criteria) this;
        }

        public Criteria andAreaIdEqualTo(String value) {
            addCriterion("area_id =", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdNotEqualTo(String value) {
            addCriterion("area_id <>", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdGreaterThan(String value) {
            addCriterion("area_id >", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdGreaterThanOrEqualTo(String value) {
            addCriterion("area_id >=", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdLessThan(String value) {
            addCriterion("area_id <", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdLessThanOrEqualTo(String value) {
            addCriterion("area_id <=", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdLike(String value) {
            addCriterion("area_id like", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdNotLike(String value) {
            addCriterion("area_id not like", value, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdIn(List<String> values) {
            addCriterion("area_id in", values, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdNotIn(List<String> values) {
            addCriterion("area_id not in", values, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdBetween(String value1, String value2) {
            addCriterion("area_id between", value1, value2, "areaId");
            return (Criteria) this;
        }

        public Criteria andAreaIdNotBetween(String value1, String value2) {
            addCriterion("area_id not between", value1, value2, "areaId");
            return (Criteria) this;
        }

        public Criteria andRouteIdIsNull() {
            addCriterion("route_id is null");
            return (Criteria) this;
        }

        public Criteria andRouteIdIsNotNull() {
            addCriterion("route_id is not null");
            return (Criteria) this;
        }

        public Criteria andRouteIdEqualTo(String value) {
            addCriterion("route_id =", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdNotEqualTo(String value) {
            addCriterion("route_id <>", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdGreaterThan(String value) {
            addCriterion("route_id >", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdGreaterThanOrEqualTo(String value) {
            addCriterion("route_id >=", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdLessThan(String value) {
            addCriterion("route_id <", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdLessThanOrEqualTo(String value) {
            addCriterion("route_id <=", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdLike(String value) {
            addCriterion("route_id like", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdNotLike(String value) {
            addCriterion("route_id not like", value, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdIn(List<String> values) {
            addCriterion("route_id in", values, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdNotIn(List<String> values) {
            addCriterion("route_id not in", values, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdBetween(String value1, String value2) {
            addCriterion("route_id between", value1, value2, "routeId");
            return (Criteria) this;
        }

        public Criteria andRouteIdNotBetween(String value1, String value2) {
            addCriterion("route_id not between", value1, value2, "routeId");
            return (Criteria) this;
        }

        public Criteria andPositionIdIsNull() {
            addCriterion("position_id is null");
            return (Criteria) this;
        }

        public Criteria andPositionIdIsNotNull() {
            addCriterion("position_id is not null");
            return (Criteria) this;
        }

        public Criteria andPositionIdEqualTo(String value) {
            addCriterion("position_id =", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdNotEqualTo(String value) {
            addCriterion("position_id <>", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdGreaterThan(String value) {
            addCriterion("position_id >", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdGreaterThanOrEqualTo(String value) {
            addCriterion("position_id >=", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdLessThan(String value) {
            addCriterion("position_id <", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdLessThanOrEqualTo(String value) {
            addCriterion("position_id <=", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdLike(String value) {
            addCriterion("position_id like", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdNotLike(String value) {
            addCriterion("position_id not like", value, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdIn(List<String> values) {
            addCriterion("position_id in", values, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdNotIn(List<String> values) {
            addCriterion("position_id not in", values, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdBetween(String value1, String value2) {
            addCriterion("position_id between", value1, value2, "positionId");
            return (Criteria) this;
        }

        public Criteria andPositionIdNotBetween(String value1, String value2) {
            addCriterion("position_id not between", value1, value2, "positionId");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIsNull() {
            addCriterion("machine_type is null");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIsNotNull() {
            addCriterion("machine_type is not null");
            return (Criteria) this;
        }

        public Criteria andMachineTypeEqualTo(Integer value) {
            addCriterion("machine_type =", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotEqualTo(Integer value) {
            addCriterion("machine_type <>", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeGreaterThan(Integer value) {
            addCriterion("machine_type >", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("machine_type >=", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeLessThan(Integer value) {
            addCriterion("machine_type <", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeLessThanOrEqualTo(Integer value) {
            addCriterion("machine_type <=", value, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeIn(List<Integer> values) {
            addCriterion("machine_type in", values, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotIn(List<Integer> values) {
            addCriterion("machine_type not in", values, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeBetween(Integer value1, Integer value2) {
            addCriterion("machine_type between", value1, value2, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("machine_type not between", value1, value2, "machineType");
            return (Criteria) this;
        }

        public Criteria andMachineNameIsNull() {
            addCriterion("machine_name is null");
            return (Criteria) this;
        }

        public Criteria andMachineNameIsNotNull() {
            addCriterion("machine_name is not null");
            return (Criteria) this;
        }

        public Criteria andMachineNameEqualTo(String value) {
            addCriterion("machine_name =", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameNotEqualTo(String value) {
            addCriterion("machine_name <>", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameGreaterThan(String value) {
            addCriterion("machine_name >", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameGreaterThanOrEqualTo(String value) {
            addCriterion("machine_name >=", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameLessThan(String value) {
            addCriterion("machine_name <", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameLessThanOrEqualTo(String value) {
            addCriterion("machine_name <=", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameLike(String value) {
            addCriterion("machine_name like", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameNotLike(String value) {
            addCriterion("machine_name not like", value, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameIn(List<String> values) {
            addCriterion("machine_name in", values, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameNotIn(List<String> values) {
            addCriterion("machine_name not in", values, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameBetween(String value1, String value2) {
            addCriterion("machine_name between", value1, value2, "machineName");
            return (Criteria) this;
        }

        public Criteria andMachineNameNotBetween(String value1, String value2) {
            addCriterion("machine_name not between", value1, value2, "machineName");
            return (Criteria) this;
        }

        public Criteria andServiceContractsIsNull() {
            addCriterion("service_contracts is null");
            return (Criteria) this;
        }

        public Criteria andServiceContractsIsNotNull() {
            addCriterion("service_contracts is not null");
            return (Criteria) this;
        }

        public Criteria andServiceContractsEqualTo(String value) {
            addCriterion("service_contracts =", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsNotEqualTo(String value) {
            addCriterion("service_contracts <>", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsGreaterThan(String value) {
            addCriterion("service_contracts >", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsGreaterThanOrEqualTo(String value) {
            addCriterion("service_contracts >=", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsLessThan(String value) {
            addCriterion("service_contracts <", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsLessThanOrEqualTo(String value) {
            addCriterion("service_contracts <=", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsLike(String value) {
            addCriterion("service_contracts like", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsNotLike(String value) {
            addCriterion("service_contracts not like", value, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsIn(List<String> values) {
            addCriterion("service_contracts in", values, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsNotIn(List<String> values) {
            addCriterion("service_contracts not in", values, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsBetween(String value1, String value2) {
            addCriterion("service_contracts between", value1, value2, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andServiceContractsNotBetween(String value1, String value2) {
            addCriterion("service_contracts not between", value1, value2, "serviceContracts");
            return (Criteria) this;
        }

        public Criteria andOperationTimeIsNull() {
            addCriterion("operation_time is null");
            return (Criteria) this;
        }

        public Criteria andOperationTimeIsNotNull() {
            addCriterion("operation_time is not null");
            return (Criteria) this;
        }

        public Criteria andOperationTimeEqualTo(Date value) {
            addCriterionForJDBCDate("operation_time =", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("operation_time <>", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("operation_time >", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("operation_time >=", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeLessThan(Date value) {
            addCriterionForJDBCDate("operation_time <", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("operation_time <=", value, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeIn(List<Date> values) {
            addCriterionForJDBCDate("operation_time in", values, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("operation_time not in", values, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("operation_time between", value1, value2, "operationTime");
            return (Criteria) this;
        }

        public Criteria andOperationTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("operation_time not between", value1, value2, "operationTime");
            return (Criteria) this;
        }

        public Criteria andPositionAddrIsNull() {
            addCriterion("position_addr is null");
            return (Criteria) this;
        }

        public Criteria andPositionAddrIsNotNull() {
            addCriterion("position_addr is not null");
            return (Criteria) this;
        }

        public Criteria andPositionAddrEqualTo(String value) {
            addCriterion("position_addr =", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrNotEqualTo(String value) {
            addCriterion("position_addr <>", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrGreaterThan(String value) {
            addCriterion("position_addr >", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrGreaterThanOrEqualTo(String value) {
            addCriterion("position_addr >=", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrLessThan(String value) {
            addCriterion("position_addr <", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrLessThanOrEqualTo(String value) {
            addCriterion("position_addr <=", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrLike(String value) {
            addCriterion("position_addr like", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrNotLike(String value) {
            addCriterion("position_addr not like", value, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrIn(List<String> values) {
            addCriterion("position_addr in", values, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrNotIn(List<String> values) {
            addCriterion("position_addr not in", values, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrBetween(String value1, String value2) {
            addCriterion("position_addr between", value1, value2, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andPositionAddrNotBetween(String value1, String value2) {
            addCriterion("position_addr not between", value1, value2, "positionAddr");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andTemperatureIsNull() {
            addCriterion("temperature is null");
            return (Criteria) this;
        }

        public Criteria andTemperatureIsNotNull() {
            addCriterion("temperature is not null");
            return (Criteria) this;
        }

        public Criteria andTemperatureEqualTo(String value) {
            addCriterion("temperature =", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureNotEqualTo(String value) {
            addCriterion("temperature <>", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureGreaterThan(String value) {
            addCriterion("temperature >", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureGreaterThanOrEqualTo(String value) {
            addCriterion("temperature >=", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureLessThan(String value) {
            addCriterion("temperature <", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureLessThanOrEqualTo(String value) {
            addCriterion("temperature <=", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureLike(String value) {
            addCriterion("temperature like", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureNotLike(String value) {
            addCriterion("temperature not like", value, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureIn(List<String> values) {
            addCriterion("temperature in", values, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureNotIn(List<String> values) {
            addCriterion("temperature not in", values, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureBetween(String value1, String value2) {
            addCriterion("temperature between", value1, value2, "temperature");
            return (Criteria) this;
        }

        public Criteria andTemperatureNotBetween(String value1, String value2) {
            addCriterion("temperature not between", value1, value2, "temperature");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckIsNull() {
            addCriterion("open_door_check is null");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckIsNotNull() {
            addCriterion("open_door_check is not null");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckEqualTo(Integer value) {
            addCriterion("open_door_check =", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckNotEqualTo(Integer value) {
            addCriterion("open_door_check <>", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckGreaterThan(Integer value) {
            addCriterion("open_door_check >", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_door_check >=", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckLessThan(Integer value) {
            addCriterion("open_door_check <", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckLessThanOrEqualTo(Integer value) {
            addCriterion("open_door_check <=", value, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckIn(List<Integer> values) {
            addCriterion("open_door_check in", values, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckNotIn(List<Integer> values) {
            addCriterion("open_door_check not in", values, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckBetween(Integer value1, Integer value2) {
            addCriterion("open_door_check between", value1, value2, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOpenDoorCheckNotBetween(Integer value1, Integer value2) {
            addCriterion("open_door_check not between", value1, value2, "openDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckIsNull() {
            addCriterion("close_door_check is null");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckIsNotNull() {
            addCriterion("close_door_check is not null");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckEqualTo(Integer value) {
            addCriterion("close_door_check =", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckNotEqualTo(Integer value) {
            addCriterion("close_door_check <>", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckGreaterThan(Integer value) {
            addCriterion("close_door_check >", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckGreaterThanOrEqualTo(Integer value) {
            addCriterion("close_door_check >=", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckLessThan(Integer value) {
            addCriterion("close_door_check <", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckLessThanOrEqualTo(Integer value) {
            addCriterion("close_door_check <=", value, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckIn(List<Integer> values) {
            addCriterion("close_door_check in", values, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckNotIn(List<Integer> values) {
            addCriterion("close_door_check not in", values, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckBetween(Integer value1, Integer value2) {
            addCriterion("close_door_check between", value1, value2, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andCloseDoorCheckNotBetween(Integer value1, Integer value2) {
            addCriterion("close_door_check not between", value1, value2, "closeDoorCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckIsNull() {
            addCriterion("out_meal_check is null");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckIsNotNull() {
            addCriterion("out_meal_check is not null");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckEqualTo(Integer value) {
            addCriterion("out_meal_check =", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckNotEqualTo(Integer value) {
            addCriterion("out_meal_check <>", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckGreaterThan(Integer value) {
            addCriterion("out_meal_check >", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckGreaterThanOrEqualTo(Integer value) {
            addCriterion("out_meal_check >=", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckLessThan(Integer value) {
            addCriterion("out_meal_check <", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckLessThanOrEqualTo(Integer value) {
            addCriterion("out_meal_check <=", value, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckIn(List<Integer> values) {
            addCriterion("out_meal_check in", values, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckNotIn(List<Integer> values) {
            addCriterion("out_meal_check not in", values, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckBetween(Integer value1, Integer value2) {
            addCriterion("out_meal_check between", value1, value2, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andOutMealCheckNotBetween(Integer value1, Integer value2) {
            addCriterion("out_meal_check not between", value1, value2, "outMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckIsNull() {
            addCriterion("take_meal_check is null");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckIsNotNull() {
            addCriterion("take_meal_check is not null");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckEqualTo(Integer value) {
            addCriterion("take_meal_check =", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckNotEqualTo(Integer value) {
            addCriterion("take_meal_check <>", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckGreaterThan(Integer value) {
            addCriterion("take_meal_check >", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckGreaterThanOrEqualTo(Integer value) {
            addCriterion("take_meal_check >=", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckLessThan(Integer value) {
            addCriterion("take_meal_check <", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckLessThanOrEqualTo(Integer value) {
            addCriterion("take_meal_check <=", value, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckIn(List<Integer> values) {
            addCriterion("take_meal_check in", values, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckNotIn(List<Integer> values) {
            addCriterion("take_meal_check not in", values, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckBetween(Integer value1, Integer value2) {
            addCriterion("take_meal_check between", value1, value2, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andTakeMealCheckNotBetween(Integer value1, Integer value2) {
            addCriterion("take_meal_check not between", value1, value2, "takeMealCheck");
            return (Criteria) this;
        }

        public Criteria andKwhIsNull() {
            addCriterion("kwh is null");
            return (Criteria) this;
        }

        public Criteria andKwhIsNotNull() {
            addCriterion("kwh is not null");
            return (Criteria) this;
        }

        public Criteria andKwhEqualTo(String value) {
            addCriterion("kwh =", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhNotEqualTo(String value) {
            addCriterion("kwh <>", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhGreaterThan(String value) {
            addCriterion("kwh >", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhGreaterThanOrEqualTo(String value) {
            addCriterion("kwh >=", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhLessThan(String value) {
            addCriterion("kwh <", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhLessThanOrEqualTo(String value) {
            addCriterion("kwh <=", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhLike(String value) {
            addCriterion("kwh like", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhNotLike(String value) {
            addCriterion("kwh not like", value, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhIn(List<String> values) {
            addCriterion("kwh in", values, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhNotIn(List<String> values) {
            addCriterion("kwh not in", values, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhBetween(String value1, String value2) {
            addCriterion("kwh between", value1, value2, "kwh");
            return (Criteria) this;
        }

        public Criteria andKwhNotBetween(String value1, String value2) {
            addCriterion("kwh not between", value1, value2, "kwh");
            return (Criteria) this;
        }

        public Criteria andOperationStatusIsNull() {
            addCriterion("operation_status is null");
            return (Criteria) this;
        }

        public Criteria andOperationStatusIsNotNull() {
            addCriterion("operation_status is not null");
            return (Criteria) this;
        }

        public Criteria andOperationStatusEqualTo(Integer value) {
            addCriterion("operation_status =", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusNotEqualTo(Integer value) {
            addCriterion("operation_status <>", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusGreaterThan(Integer value) {
            addCriterion("operation_status >", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("operation_status >=", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusLessThan(Integer value) {
            addCriterion("operation_status <", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusLessThanOrEqualTo(Integer value) {
            addCriterion("operation_status <=", value, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusIn(List<Integer> values) {
            addCriterion("operation_status in", values, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusNotIn(List<Integer> values) {
            addCriterion("operation_status not in", values, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusBetween(Integer value1, Integer value2) {
            addCriterion("operation_status between", value1, value2, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andOperationStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("operation_status not between", value1, value2, "operationStatus");
            return (Criteria) this;
        }

        public Criteria andEnableIsNull() {
            addCriterion("enable is null");
            return (Criteria) this;
        }

        public Criteria andEnableIsNotNull() {
            addCriterion("enable is not null");
            return (Criteria) this;
        }

        public Criteria andEnableEqualTo(Integer value) {
            addCriterion("enable =", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotEqualTo(Integer value) {
            addCriterion("enable <>", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThan(Integer value) {
            addCriterion("enable >", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThanOrEqualTo(Integer value) {
            addCriterion("enable >=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThan(Integer value) {
            addCriterion("enable <", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThanOrEqualTo(Integer value) {
            addCriterion("enable <=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableIn(List<Integer> values) {
            addCriterion("enable in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotIn(List<Integer> values) {
            addCriterion("enable not in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableBetween(Integer value1, Integer value2) {
            addCriterion("enable between", value1, value2, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotBetween(Integer value1, Integer value2) {
            addCriterion("enable not between", value1, value2, "enable");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionIsNull() {
            addCriterion("firmware_version is null");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionIsNotNull() {
            addCriterion("firmware_version is not null");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionEqualTo(String value) {
            addCriterion("firmware_version =", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionNotEqualTo(String value) {
            addCriterion("firmware_version <>", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionGreaterThan(String value) {
            addCriterion("firmware_version >", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionGreaterThanOrEqualTo(String value) {
            addCriterion("firmware_version >=", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionLessThan(String value) {
            addCriterion("firmware_version <", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionLessThanOrEqualTo(String value) {
            addCriterion("firmware_version <=", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionLike(String value) {
            addCriterion("firmware_version like", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionNotLike(String value) {
            addCriterion("firmware_version not like", value, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionIn(List<String> values) {
            addCriterion("firmware_version in", values, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionNotIn(List<String> values) {
            addCriterion("firmware_version not in", values, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionBetween(String value1, String value2) {
            addCriterion("firmware_version between", value1, value2, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andFirmwareVersionNotBetween(String value1, String value2) {
            addCriterion("firmware_version not between", value1, value2, "firmwareVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionIsNull() {
            addCriterion("app_version is null");
            return (Criteria) this;
        }

        public Criteria andAppVersionIsNotNull() {
            addCriterion("app_version is not null");
            return (Criteria) this;
        }

        public Criteria andAppVersionEqualTo(String value) {
            addCriterion("app_version =", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionNotEqualTo(String value) {
            addCriterion("app_version <>", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionGreaterThan(String value) {
            addCriterion("app_version >", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionGreaterThanOrEqualTo(String value) {
            addCriterion("app_version >=", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionLessThan(String value) {
            addCriterion("app_version <", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionLessThanOrEqualTo(String value) {
            addCriterion("app_version <=", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionLike(String value) {
            addCriterion("app_version like", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionNotLike(String value) {
            addCriterion("app_version not like", value, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionIn(List<String> values) {
            addCriterion("app_version in", values, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionNotIn(List<String> values) {
            addCriterion("app_version not in", values, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionBetween(String value1, String value2) {
            addCriterion("app_version between", value1, value2, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionNotBetween(String value1, String value2) {
            addCriterion("app_version not between", value1, value2, "appVersion");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameIsNull() {
            addCriterion("app_version_name is null");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameIsNotNull() {
            addCriterion("app_version_name is not null");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameEqualTo(String value) {
            addCriterion("app_version_name =", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameNotEqualTo(String value) {
            addCriterion("app_version_name <>", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameGreaterThan(String value) {
            addCriterion("app_version_name >", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameGreaterThanOrEqualTo(String value) {
            addCriterion("app_version_name >=", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameLessThan(String value) {
            addCriterion("app_version_name <", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameLessThanOrEqualTo(String value) {
            addCriterion("app_version_name <=", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameLike(String value) {
            addCriterion("app_version_name like", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameNotLike(String value) {
            addCriterion("app_version_name not like", value, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameIn(List<String> values) {
            addCriterion("app_version_name in", values, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameNotIn(List<String> values) {
            addCriterion("app_version_name not in", values, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameBetween(String value1, String value2) {
            addCriterion("app_version_name between", value1, value2, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andAppVersionNameNotBetween(String value1, String value2) {
            addCriterion("app_version_name not between", value1, value2, "appVersionName");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdIsNull() {
            addCriterion("master_ad_id is null");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdIsNotNull() {
            addCriterion("master_ad_id is not null");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdEqualTo(String value) {
            addCriterion("master_ad_id =", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdNotEqualTo(String value) {
            addCriterion("master_ad_id <>", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdGreaterThan(String value) {
            addCriterion("master_ad_id >", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdGreaterThanOrEqualTo(String value) {
            addCriterion("master_ad_id >=", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdLessThan(String value) {
            addCriterion("master_ad_id <", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdLessThanOrEqualTo(String value) {
            addCriterion("master_ad_id <=", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdLike(String value) {
            addCriterion("master_ad_id like", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdNotLike(String value) {
            addCriterion("master_ad_id not like", value, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdIn(List<String> values) {
            addCriterion("master_ad_id in", values, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdNotIn(List<String> values) {
            addCriterion("master_ad_id not in", values, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdBetween(String value1, String value2) {
            addCriterion("master_ad_id between", value1, value2, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andMasterAdIdNotBetween(String value1, String value2) {
            addCriterion("master_ad_id not between", value1, value2, "masterAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdIsNull() {
            addCriterion("secondary_ad_id is null");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdIsNotNull() {
            addCriterion("secondary_ad_id is not null");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdEqualTo(String value) {
            addCriterion("secondary_ad_id =", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdNotEqualTo(String value) {
            addCriterion("secondary_ad_id <>", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdGreaterThan(String value) {
            addCriterion("secondary_ad_id >", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdGreaterThanOrEqualTo(String value) {
            addCriterion("secondary_ad_id >=", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdLessThan(String value) {
            addCriterion("secondary_ad_id <", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdLessThanOrEqualTo(String value) {
            addCriterion("secondary_ad_id <=", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdLike(String value) {
            addCriterion("secondary_ad_id like", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdNotLike(String value) {
            addCriterion("secondary_ad_id not like", value, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdIn(List<String> values) {
            addCriterion("secondary_ad_id in", values, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdNotIn(List<String> values) {
            addCriterion("secondary_ad_id not in", values, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdBetween(String value1, String value2) {
            addCriterion("secondary_ad_id between", value1, value2, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andSecondaryAdIdNotBetween(String value1, String value2) {
            addCriterion("secondary_ad_id not between", value1, value2, "secondaryAdId");
            return (Criteria) this;
        }

        public Criteria andVmcStatusIsNull() {
            addCriterion("vmc_status is null");
            return (Criteria) this;
        }

        public Criteria andVmcStatusIsNotNull() {
            addCriterion("vmc_status is not null");
            return (Criteria) this;
        }

        public Criteria andVmcStatusEqualTo(String value) {
            addCriterion("vmc_status =", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusNotEqualTo(String value) {
            addCriterion("vmc_status <>", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusGreaterThan(String value) {
            addCriterion("vmc_status >", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusGreaterThanOrEqualTo(String value) {
            addCriterion("vmc_status >=", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusLessThan(String value) {
            addCriterion("vmc_status <", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusLessThanOrEqualTo(String value) {
            addCriterion("vmc_status <=", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusLike(String value) {
            addCriterion("vmc_status like", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusNotLike(String value) {
            addCriterion("vmc_status not like", value, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusIn(List<String> values) {
            addCriterion("vmc_status in", values, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusNotIn(List<String> values) {
            addCriterion("vmc_status not in", values, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusBetween(String value1, String value2) {
            addCriterion("vmc_status between", value1, value2, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andVmcStatusNotBetween(String value1, String value2) {
            addCriterion("vmc_status not between", value1, value2, "vmcStatus");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterionForJDBCDate("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterionForJDBCDate("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterionForJDBCDate("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterionForJDBCDate("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterionForJDBCDate("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterionForJDBCDate("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Boolean value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Boolean value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Boolean value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Boolean value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Boolean value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Boolean> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Boolean> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andMachineModelIsNull() {
            addCriterion("machine_model is null");
            return (Criteria) this;
        }

        public Criteria andMachineModelIsNotNull() {
            addCriterion("machine_model is not null");
            return (Criteria) this;
        }

        public Criteria andMachineModelEqualTo(String value) {
            addCriterion("machine_model =", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelNotEqualTo(String value) {
            addCriterion("machine_model <>", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelGreaterThan(String value) {
            addCriterion("machine_model >", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelGreaterThanOrEqualTo(String value) {
            addCriterion("machine_model >=", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelLessThan(String value) {
            addCriterion("machine_model <", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelLessThanOrEqualTo(String value) {
            addCriterion("machine_model <=", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelLike(String value) {
            addCriterion("machine_model like", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelNotLike(String value) {
            addCriterion("machine_model not like", value, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelIn(List<String> values) {
            addCriterion("machine_model in", values, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelNotIn(List<String> values) {
            addCriterion("machine_model not in", values, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelBetween(String value1, String value2) {
            addCriterion("machine_model between", value1, value2, "machineModel");
            return (Criteria) this;
        }

        public Criteria andMachineModelNotBetween(String value1, String value2) {
            addCriterion("machine_model not between", value1, value2, "machineModel");
            return (Criteria) this;
        }

        public Criteria andCreateOperIsNull() {
            addCriterion("create_oper is null");
            return (Criteria) this;
        }

        public Criteria andCreateOperIsNotNull() {
            addCriterion("create_oper is not null");
            return (Criteria) this;
        }

        public Criteria andCreateOperEqualTo(Long value) {
            addCriterion("create_oper =", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperNotEqualTo(Long value) {
            addCriterion("create_oper <>", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperGreaterThan(Long value) {
            addCriterion("create_oper >", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperGreaterThanOrEqualTo(Long value) {
            addCriterion("create_oper >=", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperLessThan(Long value) {
            addCriterion("create_oper <", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperLessThanOrEqualTo(Long value) {
            addCriterion("create_oper <=", value, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperIn(List<Long> values) {
            addCriterion("create_oper in", values, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperNotIn(List<Long> values) {
            addCriterion("create_oper not in", values, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperBetween(Long value1, Long value2) {
            addCriterion("create_oper between", value1, value2, "createOper");
            return (Criteria) this;
        }

        public Criteria andCreateOperNotBetween(Long value1, Long value2) {
            addCriterion("create_oper not between", value1, value2, "createOper");
            return (Criteria) this;
        }

        public Criteria andMachineSnIsNull() {
            addCriterion("machine_sn is null");
            return (Criteria) this;
        }

        public Criteria andMachineSnIsNotNull() {
            addCriterion("machine_sn is not null");
            return (Criteria) this;
        }

        public Criteria andMachineSnEqualTo(String value) {
            addCriterion("machine_sn =", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnNotEqualTo(String value) {
            addCriterion("machine_sn <>", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnGreaterThan(String value) {
            addCriterion("machine_sn >", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnGreaterThanOrEqualTo(String value) {
            addCriterion("machine_sn >=", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnLessThan(String value) {
            addCriterion("machine_sn <", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnLessThanOrEqualTo(String value) {
            addCriterion("machine_sn <=", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnLike(String value) {
            addCriterion("machine_sn like", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnNotLike(String value) {
            addCriterion("machine_sn not like", value, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnIn(List<String> values) {
            addCriterion("machine_sn in", values, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnNotIn(List<String> values) {
            addCriterion("machine_sn not in", values, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnBetween(String value1, String value2) {
            addCriterion("machine_sn between", value1, value2, "machineSn");
            return (Criteria) this;
        }

        public Criteria andMachineSnNotBetween(String value1, String value2) {
            addCriterion("machine_sn not between", value1, value2, "machineSn");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(Integer value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(Integer value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(Integer value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(Integer value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<Integer> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<Integer> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(Integer value1, Integer value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}